﻿Option Strict On
Option Explicit On
Option Infer On

Imports System
Imports GenDotNet.TemplateSupport
Imports GenDotNet.Task.Common

Public MustInherit Class BaseInfo
   Private mName As String
   Private mScope As Scope
   Private mAttributes As AttributeInfoCollection

   Public Sub New( _
         ByVal name As String, _
         ByVal scope As Scope)
      Me.mName = name
      Me.mScope = scope
      mAttributes = New AttributeInfoCollection
   End Sub

   Public Property Name() As String
      Get
         Return mName
      End Get
      Set(ByVal value As String)
         mName = value
      End Set
   End Property

   Public Property Scope() As Scope
      Get
         Return mScope
      End Get
      Set(ByVal value As Scope)
         mScope = value
      End Set
   End Property

   Public ReadOnly Property Attributes() As AttributeInfoCollection
      Get
         Return mAttributes
      End Get
   End Property

End Class
